package com.sikaryofficial.backend.domain.dto.req.prize;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sikaryofficial.system.api.model.att.AttachmentResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.Min;
import java.util.List;

/**
 * 奖品对象 prize_t
 *
 * @author qinjinyuan
 * @date 2023-11-02
 */
@Getter
@Setter
@ToString
@ApiModel(value = "奖品保存对象", description = "奖品保存对象")
public class PrizeReq {
    /**
     * 奖品ID
     */
    @ApiModelProperty(value = "奖品ID", example = "0")
    private Long prizeId;

    /**
     * 奖品名称
     */
    @ApiModelProperty(value = "奖品名称", example = "奖品名称")
    private String prizeName;

    /**
     * 奖品类型:1-虚拟礼品 2-实物礼品 3-谢谢惠顾
     */
    @ApiModelProperty(value = "奖品类型:1-虚拟礼品 2-实物礼品 3-谢谢惠顾", example="1")
    private Integer prizeType;

    /**
     * 奖品库存
     */
    @ApiModelProperty(value = "奖品库存", example = "0")
    @Min(value = 0, message = "奖品库存不能小于0")
    private Integer prizeStock;

    /**
     * 兑换所需积分
     */
    @ApiModelProperty(value = "兑换所需积分", example = "0")
    private Integer points;

    /**
     * 奖品封面
     */
    @ApiModelProperty(value = "奖品封面", example = "奖品封面")
    private String prizeCover;

    @ApiModelProperty(value = "礼品附件列表")
    private List<AttachmentResp> attachmentList;

    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌", example = "品牌")
    private String prizeBrand;

    /**
     * 奖品功能
     */
    @ApiModelProperty(value = "奖品功能", example = "奖品功能")
    private String prizeFunction;

    /**
     * 是否是现金 0-否 1-是，默认0-否
     */
    @ApiModelProperty(value = "是否是现金 0-否 1-是，默认0-否", example = "0")
    private int hasCash;

    /**
     * 租户号
     */
    @JsonIgnore
    private Integer tenantId;

}
